package com.flst.coordination;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.flst.service.PanierService;
import com.flst.service.RechercheService;
/**
 * 
 * <p>
 * L'action Recherche permet d'afficher le resultat d'une recherche gr&acirc;ce &agrave; un formulaire
 * </p>
 * <p>
 * Cette action fait appel au service panier dans le but d'afficher la quantit&eacute; d'articles dans le header de la page
 * <br>
 * elle fait aussi appel au service recherche pour obtenir la liste des produits contenant dans le titre, la description ou les mots cl&eacute;s la recherche pass&eacute;e en POST
 * </p>
 * <p>
 * Cette action redirige vers le forward "RecherchePage"
 * </p>
 *
 */
public class RechercheAction extends Action {

	public ActionForward execute(
		ActionMapping mapping, 
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response)
		throws Exception {
		PanierService panierservice = new PanierService();
		request.setAttribute("quantite", panierservice.getQuantiteArticle());
		RechercheForm vRechercheForm = (RechercheForm) form;
		request.setAttribute("rechercheForm", vRechercheForm);
		
		RechercheService service = new RechercheService();
		request.setAttribute("produits", service.getProduits(vRechercheForm.getRecherche()));
		

		return mapping.findForward("RecherchePage");
	}
}